General Level Design
In Ferrus, a single locale is divided up into levels (analogous to "rooms" in TES/KOTOR), which themselves are comprised of smaller pockets, referred to here as arenas/zones depending upon their purpose. The levels in Ferrus: Commissar are divided into arenas and zones, connected together via a number of (metaphorical and literal) corridors. Moving between levels works via transit systems, and moving between locales works by using the player's starship. Process for design When designing a level, the place to start at is to simply ask "why is the player here?". If a location does not serve an express purpose for the player (such as getting some key loot, key story information, etc). Next, the goal is to ask "why would anyone be here?". Metro 2033/Last Light did this excellently: every locale served a purpose for the player, but never seemed out of place or somehow padded. Everything was there to emergently tell the story of where the player is, and how life there goes on. If a location can answer both of these questions in a single sentence each, then it has fulfilled its goal. It's important to have people playtest the location, and by asking them questions about it see if their answers roughly match what you described. If it doesn't, then it is clear that either more testing is needed - refinement is needed - or both. From a more technical perspective, the following process can be adhered to: # Create a new document in your favorite text editor/word processor # Ask and answer the questions "why is the player here?" and "why would anyone be here?" # Based on those, start laying out the different blocks for the level - use post-its on a wall or a whiteboard if you like. For each block, come up with some keywords. # Refine the layout some more, draw up connections. Does this make sense? Go back to step 2 and analyse your layout thus far. # Take pictures of different layouts, show them off and discuss them. It might be a good idea to take a token and move it around, imagining how you would progress through the level. # Describe each block and their associated attributes; if you've gotten ideas for quests/the story quest as it proceeds through here, jot it all down. Maybe use some string to chart an approximate path the player takes as they progress. # If the blocks and connections are finalised, draw up a 2D map and document the locale. # Develop the necessary art and assets, while putting together a mock-up level in the UE4 editor with basic BSPs. # Finalise the locales story and quests. From point 9 onwards, it comes down to creating and programming the whole level. Locale Story & Continuity A locale's story should tell the tale of what life is like for its inhabitants. The player should be able to get an idea of what's going on there just by seeing the individuals, the layout, architecture, decorations and whatever else. But this also ties into a demand for continuity: how locales, arenas/zones transition has to make sense. Imagine being there, yourself, and seeing if the way things are laid out actally make sense. Compare it to how you would move through somewhere in real life: what kind of transitions do we see between neighborhoods; how are cities organised, what's logical, etc.